package plotterTool;

/**
 * Represents a property for the output panel.
 * 
 * This has it's origin in a system where the property inputs where
 * automatically presented through a loop in PropertyPanel, but now
 * they are hardcoded in that panel, so this system may be a bit
 * heavy.
 * 
 * @author Knut
 */
class Property {
	enum Type { STRING, BOOLEAN, INT, DOUBLE }
	
	/**
	 * The value type of the property
	 */
	public Type type;
	
	/**
	 * The describing label used in GUI together with a input.
	 */
	public String label;
	
	/**
	 * All properties is stored as strings and have to be cast to their
	 * respective types.
	 */
	public String value;
	
	/**
	 * Create a property
	 * 
	 * @param type
	 * @param label
	 * @param defaultValue
	 */
	public Property(Type type, String label, String defaultValue) {
		this.type = type;
		this.label = label;
		this.value = defaultValue;
	}
}